/*********************************************************************************************************************
 * COPYRIGHT NOTICE
 * Copyright (c) 2018,逐飞科技
 * All rights reserved.
 * 技术讨论QQ群：	一群：179029047(已满)
 *					二群：244861897(已满)
 *					三群：824575535
 *
 * 以下所有内容版权均属逐飞科技所有，未经允许不得用于商业用途，
 * 欢迎各位使用并传播本程序，修改内容时必须保留逐飞科技的版权声明。
 *
 * @file			zf_gint.h
 * @company			成都逐飞科技有限公司
 * @author			逐飞科技(QQ3184284598)
 * @version			查看doc内version文件 版本说明
 * @Software		IAR 8.3 or MDK 5.24
 * @Taobao			https://seekfree.taobao.com/
 * @date			2020-03-25
 * @note			
 ********************************************************************************************************************/

#ifndef _ZF_PINT_H_
#define _ZF_PINT_H_

#include "fsl_pint.h"
#include "fsl_inputmux.h"
#include "zf_gpio.h"
#include "zf_isr.h"

//================== pint interruot list ==================
typedef enum
{
	INTERRUPT_PINT0				= 0,				// PINT 中断 PINT0
	INTERRUPT_PINT1,								// PINT 中断 PINT1
	INTERRUPT_PINT2,								// PINT 中断 PINT2
	INTERRUPT_PINT3,								// PINT 中断 PINT3
	INTERRUPT_PINT4,								// PINT 中断 PINT4
	INTERRUPT_PINT5,								// PINT 中断 PINT5
	INTERRUPT_PINT6,								// PINT 中断 PINT6
	INTERRUPT_PINT7,								// PINT 中断 PINT7
}interrupt_pint_list;
//================== pint interruot list ==================

//================== pint interruot mode list ==================	// Tips : 这个位置 SDK 里设置是反相的 以测试为准
typedef enum
{
	PINT_RISE_EDGE				= 0x01,				// PINT 中断 上升沿有效
	PINT_FALL_EDGE				= 0x02,				// PINT 中断 下降沿有效
	PINT_BOTH_EDGE				= 0x03,				// PINT 中断 双边沿有效
	PINT_LOW_LEVEL				= 0x10,				// PINT 中断 低电平有效
	PINT_HIGH_LEVEL				= 0x12,				// PINT 中断 高电平有效
}pint_mode_list;
//================== pint interruot mode list ==================

void zf_pint_init (interrupt_pint_list pint_index, pint_mode_list mode, void handler(void));
void zf_pint_pin_set (interrupt_pint_list pint_index, group_index_list group_index, pin_index_list pin_index);
void zf_pint_interrupt_enable (interrupt_pint_list pint_index);
void zf_pint_interrupt_disable (interrupt_pint_list pint_index);

#endif
